// 解析路由文件
// 加载js文件解析里面的，导出两个变量，一个router和一个routes
// 导出对象{router,routes}

import {RouteConfig, VueRouter} from "vue-router/types/router";
import {urlFileToVue} from "./VueFileUtils";
import {urlFileToJs} from "./CommonUtils";

export interface Result {
  routes: RouteConfig[];
  router: VueRouter;
  app: any;
}

/**
 * 是有路由的方法
 * @param url
 * @param appUrl
 */
export function loaderRouterFile(url: string, appUrl: string): Promise<Result> {
  return new Promise((resolve, reject) => {
    Promise.all([
      urlFileToJs(url),
      urlFileToVue(appUrl)
    ])
      .then(([res, res1]) => {
        try {
          resolve({
            app: res1,
            // @ts-ignore
            ...res
          })
        } catch (e) {
          console.error(`${window.__chineseTranscode__('错误文件：')}${url}`)
          console.error(e)
        }
      }).catch(err => reject(err))
  })
}




























